home *** CD-ROM | disk | FTP | other *** search
- Type: Newbie[X] - Semi-Newbie[ ] - Normal[ ] - Advanced[ ]
-
- Hello all...
-
- I'm back again with the third tutorial for >>nulltz<< CrackMe...
-
- This level aint much harder then the second one. Only a slight change in the
- protection scheme.
-
- But enough talk, lets go cracking...:)
-
- Taget : CrackMe Version 1.1 (Registration Type: 3)
- Get it at: http://members.xoom.com/nullz/
- Tools : Softice 3.0 or higher
-
- here we go...
-
- Start the CrackMe, goto level 3, and take a look at it...
- Hmm, a Name/Code registration type.
- Remember the last two levels ? We used GetDlgItemTextA both times,
- so why not try again ?..:)
-
- so:
-
- -Put breakpoint at GetDlgItemTextA (BPX GetDlgItemTextA)
-
- -Press the OK button
-
- -MAN!...nothing happens...hmm, GetDlgItemTextA doesnt work then.
-
- -Let try another good one...GetWindowTextA
-
- -So, put a breakpoint on GetWindowTextA (BPX GetWindowTextA)
-
- -Try the OK button again, and let's see what happens.
-
- -Ahh, much better. The program breaked, now press F11 to get out of the CALL.
-
- -You are now inside MFC42.DLL, we dont want to be there, so trace a little
- by using F10. After a short while of stepping, you will be inside CRACME.EXE.
-
- -Step a little further, and take a look what happens, you will see a code looking
- like this:
-
- :00401CB3 0FBE5C0500 movsx ebx, byte ptr [ebp+eax] <--- Move char from your
- :00401CB8 8D4C0500 lea ecx, dword ptr [ebp+eax] name into ECX.
- :00401CBC 03F3 add esi, ebx
- :00401CBE 8BD8 mov ebx, eax <--- Rest is calculation
- :00401CC0 C1E308 shl ebx, 08
- :00401CC3 33F3 xor esi, ebx
- :00401CC5 8B5C241C mov ebx, dword ptr [esp+1C]
- :00401CC9 03D9 add ebx, ecx
- :00401CCB 8BCF mov ecx, edi
- :00401CCD 0FAFF3 imul esi, ebx
- :00401CD0 F7D1 not ecx
- :00401CD2 0FAFF1 imul esi, ecx
- :00401CD5 40 inc eax
- :00401CD6 03FA add edi, edx
- :00401CD8 3BC2 cmp eax, edx <--- Are we done ?
- :00401CDA 7CD7 jl 00401CB3 <--- No? then go on
-
-
- -This is the routine, that calculates your registration code out from your Username,
- but that is not what we are looking for, we are looking for the serial...
- SO LETS GO FIND IT!
-
- -Trace a little forward, to see if there is anything interesting, and wooops, what do we
- see after a short while ?
-
-
- :00401CFD 8A10 mov dl, byte ptr [eax] <--- A char from your code
- :00401CFF 8ACA mov cl, dl <--- gets moved to cl
- :00401D01 3A16 cmp dl, byte ptr [esi] <--- The char from your
- serial, gets compared
- to a byte from the
- REAL serial.
-
- -Does it ring a bell to you ?...Well it does to me...
-
- -So YOUR serial is on EAX while the CORRECT serial is in ESI
-
- -Now try this: D EAX
- You will see your own serial
-
- -Now try: D ESI
- and THERE we go...the CORRECT serial, write it down, clear all breakpoints,
- exit SoftIce, write the serial in the Registration box, and BOOM, the congratulations
- message pops up...
-
- Congratulations, you've just passed Level 3....:)
-
-
- I hope you enjoyed the tutorial, if you have anything to invent, just catch me on
- efNet or mail me at: einzteinius@Hotmail.com...
-
-
- Greets to: BiGMoM, MAK, Cruehead, Corn2, Recah, CrackZ, Quantum-Z, Quantico, Clown-Man,
- Kanobi, J0b, LordByte, and ALL those people i might forgot...
-
- If you think you're missing...just tell me, coz i've got an REAL bad memory....:-D
-
-
-
- /EinZtein
-
-
-
-
-
-